Brazeの配列の消費データポイントをAPIを叩いて確認してみる

Brazeの配列の消費データポイントをAPIを叩いて確認してみる

Clock Icon2025.01.17

データ事業本部のueharaです。

今回は、Brazeの配列の消費データポイントをAPIを叩いて確認してみたいと思います。

はじめに

Brazeのデータポイントについて、配列に関して公式ドキュメントのTipに以下のような記載があります。

Tip:
配列全体を一度に設定すると、1 データポイントとしてカウントされます。そのため、配列は、関連情報を使用してユーザープ> ロファイルを最新状態に保ち、コストを削減する優れたツールです。

ただ、オブジェクト配列の公式ドキュメントを確認すると、例えば以下のリクエストをすると「8データポイント」消費されると記載されています。

{
  "attributes": [
    {
      "external_id": "user_id",
      "pets": [
        {
          "id": 1,
          "type": "dog",
          "breed": "beagle",
          "name": "Gus"
        },
        {
          "id": 2,
          "type": "cat",
          "breed": "calico",
          "name": "Gerald"
        }
      ]
    }
  ]
}

今回は配列と、特にオブジェクト配列についてもAPIを叩いてデータ連携し、実際に消費されるデータポイントを確認してみます。

なお、お手元で実行したい場合はAPIのエンドポイントはお使いのダッシュボードのロケーションに合わせて指定をしてください。

20250117_braze_00
参考

配列の場合

テスト用に、以下のリクエストを実行します。(APIキーはマスクしています)

curl --location --request POST 'https://rest.fra-02.braze.eu/users/track' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer **********' \
  --data-raw '{
    "attributes": [
      {
        "external_id": "user_hoge",
        "recommend_simple_array": [
            "11111",
            "22222",
            "33333"
        ]
      }
    ]
  }'

送信している attributesrecommend_simple_array として、おすすめするコンテンツのID番号を配列として入力するようなイメージをしています。

配列の中には3つの要素を入れています。

上記リクエストのレスポンスは以下の通りでした。1ユーザーに対しての更新なので、想定通りです。

{"attributes_processed":1,"message":"success"}

消費データポイントを確認すると、以下の通り 1 となっていました。

20250117_braze_01

確かに、配列の場合だと配列内に複数の要素が含まれていてもデータポイントの消費は 1 となるようです。

オブジェクト配列の場合

今度は、オブジェクト配列でリクエストしてみます。

さっきのリクエストから少し変え、以下のようにしてみました。(APIキーは同様にマスクしています)

curl --location --request POST 'https://rest.fra-02.braze.eu/users/track' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer **********' \
  --data-raw '{
    "attributes": [
      {
        "external_id": "user_hoge",
        "recommend_object_array": [
            {
                "contents_id": "11111",
                "recommend_score": "0.1"
            },
            {
                "contents_id": "22222",
                "recommend_score": "0.2",
            },
            {
                "contents_id": "33333",
                "recommend_score": "0.3",
            }
        ]
      }
    ]
  }'

送信している attributesrecommend_object_array として、おすすめするコンテンツのID番号を contents_id, そのおすすめ度合いのスコアを recommend_score としたJSON形式のデータを配列の形式で格納しています。

上記リクエストのレスポンスは以下の通りでした。1ユーザーに対しての更新なので、先ほどと同じ結果になります。

{"attributes_processed":1,"message":"success"}

消費データポイントを確認すると、今度は 6 となっていました。

20250117_braze_02

やはり、オブジェクト配列の場合は消費データポイントが 1 になってくれるということは無く、末端のValue毎にデータポイントが消費されてしまうようです。

※上記例だと、「contents_id x 3, recommend_score x 3」の計 6 データポイントが消費されている。

検証まとめ

単純な配列の場合、複数の要素を入れてもデータポイントは1となりました。

ドキュメントに記載されている通り、配列を利用することはコスト削減に繋がりそうです。

一方で、オブジェクト配列の場合は末端のValue毎にデータポイントが消費されました。

「配列なら何でもデータポイントが1になる」、という訳ではないため、意識して利用する必要がありそうです。

最後に

今回は、Brazeの配列の消費データポイントをAPIを叩いて確認してみました。

参考になりましたら幸いです。

参考文献

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.